
class SqlExpresionEval < Rsif::Core::Modules::Module

	# utiliza siempre un input_bool_evaluator
	depends_on :input_bool_evaluator
	#depends_on :blind_sql_pattern

	def initialize_params( params )
		unless @conf
			@input_bool_evaluator = context.symbol(:input_bool_evaluator)
			@blind_sql_pattern  = params[:blind_sql_pattern]
			@conf = 1
		end
	end

	def put( expr )

		injection = @blind_sql_pattern % expr


		aux = @input_bool_evaluator.put( injection )
		logger.debug( Locale.testing_injection(injection, aux ? true:false ) )

		aux
		
	end

	def good

		# TODO: hacer dinamicas estas listas

		return nil unless put("1=1")
		return nil unless put("2=2")
		return nil unless put("3=3")
		return nil unless put("4=4")
		return nil unless put("5=5")
		return nil unless put("6=6")

		return nil if put("1=2")
		return nil if put("2=3")
		return nil if put("3=4")
		return nil if put("5=6")
		return nil if put("6=7")
		return nil if put("7=8")

		return 1
	end
end

